1. Field of the Invention
This invention relates in general to computer systems, and in particular, to providing multiple applet delivery within a fixed-size viewing space.
2. Description of Related Art
Years ago, computer video displays were able to show only one application at a time. When an application ran, it had control of the entire video display. Hence, two applications could not occupy the same visual space. This was not a limitation of the application; it was a limitation of the underlying subsystem. Examples include DOS 3.1, VM and MVS consoles.
This was not seen as a problem with computers, but a problem with human-computer interaction. Human beings are capable of “multi-processing” applications at a computer terminal. Having only one application available at a time was a severe impediment. In retrospect, it is difficult to believe that computer professionals worked in an environment with such limitations in the early 1980's.
To improve this situation, “windowing” each application was introduced into operating system shells. The technique involves providing an independent frame for each activity on the computer desktop. This allowed the fixed-size space of a computer terminal to display multiple applications running concurrently. Furthermore, concepts such as overlapping, resizing, cascading, minimizing, and maximizing were introduced to allow a user to balance his/her visual space. Examples include: X-Windows, Apple System-7, and Microsoft Windows.
Evolution of the computer industry has lead to an amazing growth of the Internet. The Internet is a collection of computer networks that exchange information via Transmission Control Protocol/Internet Protocol (“TCP/IP”). The Internet computer network consists of many internet networks, each of which is a single network that uses the TCP/IP protocol suite. Currently, the use of the Internet computer network for commercial and non-commercial uses is exploding. Via its networks, the Internet computer network enables many users in different locations to access information stored in data sources (e.g., databases) stored in different locations.
The World Wide Web (i.e., the “WWW” or the “Web”) is a hypertext information and communication system used on the Internet computer network with data communications operating according to a client/server model. Typically, a Web client computer will request data stored in data sources from a Web server computer, at which Web server software resides. The Web server software interacts with an interface connected to, for example, a Database Management System (“DBMS”), which is connected to the data sources. These computer programs residing at the Web server computer will retrieve the data and transmit the data to the client computer. The data can be any type of information, including database data, static data, HTML data, or dynamically generated data.
With the fast growing popularity of the Internet and the World Wide Web (also known as “WWW” or the “Web”), there is also a fast growing demand for Web access to databases. In particular, databases on the Web are often used to store images, and image browsing plays an important part in daily Internet activity. In data processing, there exist different image file formats for various application domains. However, since conventional browsers (or Web browsers) accommodate a limited number of image viewers, they can only handle some of the most popular image file formats, such as GIF, JPEG, etc. An advanced multimedia database, however, may contain certain images that cannot be viewed by a conventional browser. This inability may impact the deployment of Web-based applications.
The computer world has been revolutionalized by content delivery through Hyper Text Markup Language (HTML) documents. HTML is used to create documents on the Web. In particular, HTML defines the structure and layout of a Web document by using a variety of tags and attributes. The correct structure for an HTML document is as follows:                <HTML><HEAD>(information about what the document is about)</HEAD><BODY> (tags and attributes that define a Web page) </BODY></HTML>.Browsers, such as Netscape's Navigator and Microsoft's Internet Explorer, have allowed users to view documents on the Web.        
Since the inception of the browser and HTML, Java applets have arrived. Java applets are small programs which can be “embedded” into Web pages. That is, applets are programs that are designed to be executed from within other applications. These programs can range from applets which are used for clever display techniques to applets which interact with the human user. Browsers that are equipped with Java virtual machines can interpret applets from Web servers.
The original problem of “one application per fixed-sized viewing space” has returned. Two applets cannot occupy the same space on a webpage; they cannot be repositioned, minimized, maximized, overlapped, or resized.
Some conventional techniques have attempted to solve this problem, however, each of these techniques has limitations. The conventional techniques are: HTML Frames, IFRAMES (a.k.a. “Floating Frames”), and simply opening a new browser window.
HTML frames are described in HTML documents and are used to divide browser windows into two or more document windows. Each HTML Frame may display different documents or may display different parts of the same document. An HTML Frame in an HTML document can cause a web page to appear to be divided into multiple, scrollable windows. Each HTML Frame has a name, a source document locator (i.e., the address of the document to be displayed in the frame), dimensions, border alignment and decorations, scroll and resize behaviors, loading and unloading behavior, file and topic maps, and style sheets. The limitations of frames are that each “window” must have the same relative position to other windows. Thus, they cannot overlap, be minimized, or be maximized.
An IFRAME element is very similar to an HTML FRAME element. An IFRAME is designed to be used in the body of an HTML document, and it defines a frame which takes place in the document flow. An IFRAME can be targeted and navigated independent of the parent document. The IFRAME element is a container. An IFRAME has several attributes, including, but not limited to, a name, a source document locator (i.e., the address of the document to be displayed in the frame), borders (for a border for the frame), margin width and height, scrolling (specifies whether the frame should have scrollbars), width and height of the inline frame, and align (specifies how the frame is positioned relative to the current text line in which it occurs). An IFRAME does not have the attribute NORESIZE; an inline frame is not resizable. An IFRAME enables insertion of HTML documents into other HTML documents. The limitations of iFrames are that they behave similar to a <IMG> tag. More specifically, they have no means for being repositioned within the fixed-size viewing space, cannot overlap, be minimized, or be maximized.
An explanation of “opening a new browser window” is simply starting another copy of the browser with the particular applet in the browser. The limitation of this is that it doesn't address the problem of a fixed-sized viewing space. These windows are not contained within a space defined by a web page.
There is a need in the art for an improved technique for enabling multiple applets to occupy the same space on a webpage.